//package com.foreveross.project.usercenterserver.exception;
//
//import com.foreveross.project.usercenterserver.common.utils.R;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
//import org.springframework.web.HttpMediaTypeNotSupportedException;
//import org.springframework.web.HttpRequestMethodNotSupportedException;
//import org.springframework.web.bind.annotation.ExceptionHandler;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
//
///**
// * @Description: 异常处理器
// */
//@RestControllerAdvice
//@Slf4j
//public class CustomExceptionHandler {
//
//    /**
//     * 自定义异常
//     */
//    @ExceptionHandler(CustomException.class)
//    public R handleCustomException(CustomException e) {
//        return R.error(e.getCode(), e.getMessage());
//    }
//
//    @ExceptionHandler(InvalidGrantException.class)
//    public R handleException(InvalidGrantException e) {
//        log.error("运行时异常", e);
//        return R.error(500, e.getMessage());
//    }
//
//    @ExceptionHandler(Exception.class)
//    public R handleException(Exception e) {
//        if (e instanceof HttpRequestMethodNotSupportedException) {
//            log.error("method 方法不支持", e);
//            return  R.error(500, e.getMessage());
//        } else if (e instanceof HttpMediaTypeNotSupportedException) {
//            log.error("不支持媒体类型", e);
//            return R.error(500, e.getMessage());
//        }else  if(e instanceof InvalidGrantException){
//            log.error("授权失败", e);
//            return R.error(500, e.getMessage());
//        }
//        else {
//            log.error("后台异常", e);
//            return R.error(500, e.getMessage());
//        }
//    }
//
//}
